package com.sikaryofficial.system.domain;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import javax.validation.constraints.NotEmpty;
import java.io.Serializable;

/**
 * @author : wuweihong
 * @desc : 菜单保存入参
 * @date : 2025-08-11
 */

@ApiModel(description = "菜单保存入参")
@Getter
@Setter
public class SysMenuNewSaveReq implements Serializable {

	/**
	 * 菜单ID
	 */
	@ApiModelProperty("菜单ID")
	private Long menuId;

	/**
	 * 菜单英文名
	 */
	@ApiModelProperty("菜单英文名")
	@NotEmpty(message = "菜单英文名不为空")
	private String menuNameEn;

	/**
	 * 菜单名称
	 */
	@ApiModelProperty("菜单名称")
	@NotEmpty(message = "菜单英名称不为空")
	private String menuName;

	/**
	 * 菜单编码
	 */
	@ApiModelProperty("菜单编码")
	@NotEmpty(message = "菜单编码不能为空")
	private String menuCode;
	/**
	 * 国家2位编码
	 */
	@ApiModelProperty("国家2位编码")
	@NotEmpty(message = "国家编码不为空")
	private String countryCode;

	/**
	 * 父菜单ID
	 */
	@ApiModelProperty("父菜单ID")
	private Long parentId;

	/**
	 * 路由地址
	 */
	@ApiModelProperty("路由地址")
	private String path;

	/**
	 * 组件路径
	 */
	@ApiModelProperty("组件路径")
	private String component;

	/**
	 * 类型（M目录 C菜单 F按钮）
	 */
	@ApiModelProperty("类型（M目录 C菜单 F按钮）")
	private String menuType;

	/**
	 * 显示状态（0显示 1隐藏）
	 */
	@ApiModelProperty("显示状态（0显示 1隐藏）")
	private String visible;

	/**
	 * 序号
	 */
	@ApiModelProperty("序号")
	private Integer orderNum;

	/**
	 * 菜单图标
	 */
	@ApiModelProperty("菜单图标")
	private String icon;

}
